package zdream.control.world;

/**
 * 可以往上注册 hook 的主体, 比如 {@link MFoe}
 *
 * @author Zdream
 * @date 2023-12-03
 * @since 0.0.1
 */
public interface IHookStorage {
	/**
	 * 注册一个 hook, 用于拿到它的 factory.
	 */
	MHookStore.HookHandlerBuilder registerHook();

	/**
	 * 触发 hook
	 */
	MHooks.MHookContext triggerHook(MHookType type);

	MHookStore getHookStore();
}
